<?php


namespace App\Modules\Seller\Http\Controllers;


use Illuminate\Http\Request;

class Backend extends BaseController
{
    // 模型
    protected $model;
    // 服务
    protected $service;
    // 校验
    protected $validate;
    // 登录ID
    protected $sellerId;
    // 登录信息
    protected $adminInfo;

    /**
     * 构造函数
     * @param Request $request
     * @since 2020/8/31
     * Backend constructor.
     * @author 牧羊人
     */
    public function __construct(Request $request)
    {
        parent::__construct($request);

        // 初始化配置
        $this->initConfig();

        // 登录检测中间件
        $this->middleware('seller.login');

        // 初始化登录信息
        $this->middleware(function ($request, $next) {
            $sellerId = $request->session()->get("sellerId");

            // 登录验证
            if (!empty($sellerId)) {
                $this->initLogin($sellerId);
            }

            return $next($request);
        });

    }
    /**
     * 初始化配置
     * @author 牧羊人
     * @since: 2020/6/30
     */
    public function initConfig()
    {
        // 系统全称
        view()->share('siteName', SITE_NAME);
        // 系统简称
        view()->share('nickName', NICK_NAME);
        // 系统版本
        view()->share('version', VERSION);

        // 请求参数
        $this->param = \request()->input();

        // 分页基础默认值
        defined('PERPAGE') or define('PERPAGE', isset($this->param['limit']) ? $this->param['limit'] : 20);
        defined('PAGE') or define('PAGE', isset($this->param['page']) ? $this->param['page'] : 1);
    }

    /**
     * 控制器默认入口
     * @return mixed
     * @author 牧羊人
     * @date 2019/2/25
     */
    public function index()
    {
        if (IS_POST) {
            $result = $this->service->getList();
            return $result;
        }
        // 默认参数
        $data = func_get_args();
        if (isset($data[0])) {
            foreach ($data[0] as $key => $val) {
                view()->share($key, $val);
            }
        }
        return $this->render();
    }

}